# -*- coding: UTF-8 -*-
"""
@File    ：4.柱状图和时间线.py
@Author  ：techPang
@Date    ：2025/2/5 15:29 
@Version ：1.0
"""
from pyecharts.charts import Bar, Timeline
from pyecharts.globals import ThemeType
from pyecharts.options import LabelOpts

bar1 = Bar()
# 添加x轴数据
bar1.add_xaxis(["中国", "美国", "英国"])
# 添加y轴数据
bar1.add_yaxis("GDP", [30, 20, 10], label_opts=LabelOpts(position="right"))
# 反转x轴和y轴
bar1.reversal_axis()

bar2 = Bar()
# 添加x轴数据
bar2.add_xaxis(["中国", "美国", "英国"])
# 添加y轴数据
bar2.add_yaxis("GDP", [50, 50, 50], label_opts=LabelOpts(position="right"))
# 反转x轴和y轴
bar2.reversal_axis()

bar3 = Bar()
# 添加x轴数据
bar3.add_xaxis(["中国", "美国", "英国"])
# 添加y轴数据
bar3.add_yaxis("GDP", [70, 60, 60], label_opts=LabelOpts(position="right"))
# 反转x轴和y轴
bar3.reversal_axis()

# 构建时间线对象
timeline = Timeline({"theme": ThemeType.LIGHT})
# 在时间线添加柱状图对象
timeline.add(bar1, "点1")
timeline.add(bar2, "点2")
timeline.add(bar3, "点3")
# 设置自动播放
timeline.add_schema(
    play_interval=1000,  # 自动播放间隔
    is_timeline_show=True,  # 是否在自动播放的时候，显示时间线
    is_auto_play=True,  # 是否自动播放
    is_loop_play=True  # 是否循环自动播放
)
# 主题设置

# 绘图使用时间线对象，不使用bar对象
timeline.render("基础时间线柱状图.html")
